/**
 * 获取指定组件名称的父组件。
 * @param {string} name 组件名称
 * @returns {(Vue|null)} 找到的父组件或 null
 */
export function getParent(name) {
	let parent = this.$parent;
	while (parent) {
		if (parent.$options.componentName !== name) {
			parent = parent.$parent;
		} else {
			return parent;
		}
	}
	return null;
}

/**
 * 判断父元素是否包含指定子节点。
 * @param {HTMLElement} parent 父节点
 * @param {HTMLElement} node 子节点
 * @returns {boolean} 如果包含子节点返回 true，否则返回 false
 */
export function contains(parent, node) {
	if (document.documentElement.contains) {
		return parent !== node && parent.contains(node);
	} else {
		while (node && (node = node.parentNode)) {
			if (node === parent) return true;
		}
		return false;
	}
}